home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 12.5 KB | 298 lines | [TEXT/MPS ] |
- (*
- File: HyperXCmd.mod
-
- Copyright: © 1983-1993 by Apple Computer, Inc.
- All rights reserved.
-
- Version: System 7.1 for ETO #11
- Created: Tuesday, March 30, 1993 18:00
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE HyperXCmd;
-
- IMPORT SYSTEM, Types, Quickdraw, Events, TextEdit, Menus, StandardFile;
-
- CONST
- (* result codes *)
- xresSucc* = 0;
- xresFail* = 1;
- xresNotImp* = 2;
-
- (* XCMDBlock constants for event.what... *)
- xOpenEvt* = 1000; (* the first event after you are created *)
- xCloseEvt* = 1001; (* your window is being forced close (Quit?) *)
- xGiveUpEditEvt* = 1002; (* you are losing Edit... *)
- xGiveUpSoundEvt* = 1003; (* someone else is requesting HyperCard's sound channel *)
- xHidePalettesEvt* = 1004; (* someone called HideHCPalettes *)
- xShowPalettesEvt* = 1005; (* someone called ShowHCPalettes *)
- xEditUndo* = 1100; (* Edit——Undo *)
- xEditCut* = 1102; (* Edit——Cut *)
- xEditCopy* = 1103; (* Edit——Copy *)
- xEditPaste* = 1104; (* Edit——Paste *)
- xEditClear* = 1105; (* Edit——Clear *)
- xSendEvt* = 1200; (* script has sent you a message (text) *)
- xSetPropEvt* = 1201; (* set a window property *)
- xGetPropEvt* = 1202; (* get a window property *)
- xCursorWithin* = 1300; (* cursor is within the window *)
- xMenuEvt* = 1400; (* user has selected an item in your menu *)
- xMBarClickedEvt* = 1401; (* a menu is about to be shown--update if needed *)
-
- xShowWatchInfoEvt* = 1501; (* for variable and message watchers *)
- xScriptErrorEvt* = 1502; (* place the insertion point *)
- xDebugErrorEvt* = 1503; (* user clicked "Debug" at a complaint *)
- xDebugStepEvt* = 1504; (* hilite the line *)
- xDebugTraceEvt* = 1505; (* same as step but tracing *)
- xDebugFinishedEvt* = 1506; (* script ended *)
-
- paletteProc* = 2048; (* Windoid with grow box *)
- palNoGrowProc* = 2052; (* standard Windoid defproc *)
- palZoomProc* = 2056; (* Windoid with zoom and grow *)
- palZoomNoGrow* = 2060; (* Windoid with zoom and no grow *)
- hasZoom* = 8;
- hasTallTBar* = 2;
- toggleHilite* = 1;
-
- maxCachedChecks* = 16; (* maximum number of checkpoints in a script *)
-
- (* paramCount is set to these constants when first calling special XThings *)
- xMessageWatcherID* = -2;
- xVariableWatcherID* = -3;
- xScriptEditorID* = -4;
- xDebuggerID* = -5;
-
- (* XTalkObjectPtrPOINTER TO .objectKind values *)
- stackObj* = 1;
- bkgndObj* = 2;
- cardObj* = 3;
- fieldObj* = 4;
- buttonObj* = 5;
-
- (* selectors for ShowHCAlert's dialogs (shown as buttonID*:buttonText) *)
- errorDlgID* = 1; (* 1:OK (default) *)
- confirmDlgID* = 2; (* 1:OK (default) and 2:Cancel *)
- confirmDelDlgID* = 3; (* 1:Cancel (default) and 2:Delete *)
- yesNoCancelDlgID* = 4; (* 1:Yes (default), 2:Cancel, and 3:No *)
-
-
- TYPE
- XCmdPtr* = POINTER TO XCmdBlock;
- XCmdBlock* = RECORD
- paramCount*: INTEGER; (* If* = -1 then new use for XWindoids *)
- params*: ARRAY 16 (*ΔΔ[1..16]ΔΔ*) OF Types.Handle;
- returnValue*: Types.Handle;
- passFlag*: BOOLEAN;
-
- entryPoint*: Types.ProcPtr; (* to call back to HyperCard *)
- request*: INTEGER;
- result*: INTEGER;
- inArgs*: ARRAY 8 (*ΔΔ[1..8]ΔΔ*) OF LONGINT;
- outArgs*: ARRAY 4 (*ΔΔ[1..4]ΔΔ*) OF LONGINT;
- END;
-
- XWEventInfoPtr* = POINTER TO XWEventInfo;
- XWEventInfo* = RECORD
- event*: Events.EventRecord;
- eventWindow*: Quickdraw.WindowPtr;
- eventParams*: ARRAY 9 (*ΔΔ[1..9]ΔΔ*) OF LONGINT;
- eventResult*: Types.Handle;
- END;
-
- XTalkObjectPtr* = POINTER TO XTalkObject;
- XTalkObject* = RECORD
- objectKind*: INTEGER; (* stack, bkgnd, card, field, or button *)
- stackNum*: LONGINT; (* reference number of the source stack *)
- bkgndID*: LONGINT;
- cardID*: LONGINT;
- buttonID*: LONGINT;
- fieldID*: LONGINT;
- END;
-
- CheckPtHandle* = HANDLE TO CheckPts (*ΔΔ POINTER TO CheckPtPtr*);
- CheckPtPtr* = POINTER TO CheckPts;
- CheckPts* = RECORD
- checks*: ARRAY (*ΔΔ[1..*)maxCachedChecks(*ΔΔ ]ΔΔ*) OF INTEGER;
- END;
-
-
- (**** HyperTalk Utilities ****)
- PROCEDURE EvalExpr*(paramPtr: XCmdPtr; expr: Types.Str255): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE SendCardMessage*(paramPtr: XCmdPtr; msg: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE SendHCMessage*(paramPtr: XCmdPtr; msg: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE RunHandler*(paramPtr: XCmdPtr; handler: Types.Handle);
- EXTERNAL PASCAL;
-
- (**** Memory Utilities ****)
- PROCEDURE GetGlobal*(paramPtr: XCmdPtr; globName: Types.Str255): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE SetGlobal*(paramPtr: XCmdPtr; globName: Types.Str255; globValue: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE ZeroBytes*(paramPtr: XCmdPtr; dstPtr: Types.Ptr;longCount: LONGINT);
- EXTERNAL PASCAL;
-
- (**** String Utilities ****)
- PROCEDURE ScanToReturn*(paramPtr: XCmdPtr; VAR scanPtr: Types.Ptr);
- EXTERNAL PASCAL;
- PROCEDURE ScanToZero*(paramPtr: XCmdPtr; VAR scanPtr: Types.Ptr);
- EXTERNAL PASCAL;
- PROCEDURE StringEqual*(paramPtr: XCmdPtr; str1,str2: Types.Str255): BOOLEAN;
- EXTERNAL PASCAL;
- PROCEDURE StringLength*(paramPtr: XCmdPtr; strPtr: Types.Ptr): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE StringMatch*(paramPtr: XCmdPtr; pattern: Types.Str255; target: Types.Ptr): Types.Ptr;
- EXTERNAL PASCAL;
- PROCEDURE ZeroTermHandle*(paramPtr: XCmdPtr; hndl: Types.Handle);
- EXTERNAL PASCAL;
-
- (**** String Conversions ****)
- PROCEDURE BoolToStr*(paramPtr: XCmdPtr; bool: BOOLEAN; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- (*•• PROCEDURE ExtToStr*(paramPtr: XCmdPtr; num: Types.Extended80; VAR str: Types.Str255);
- EXTERNAL PASCAL;*)
- PROCEDURE LongToStr*(paramPtr: XCmdPtr; posNum: LONGINT; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE NumToHex*(paramPtr: XCmdPtr; num: LONGINT; nDigits: INTEGER; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE NumToStr*(paramPtr: XCmdPtr; num: LONGINT; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE PasToZero*(paramPtr: XCmdPtr; str: Types.Str255): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE PointToStr*(paramPtr: XCmdPtr; pt: Types.Point; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE RectToStr*(paramPtr: XCmdPtr; rct: Types.Rect; VAR str: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE ReturnToPas*(paramPtr: XCmdPtr; zeroStr: Types.Ptr; VAR pasStr: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE StrToBool*(paramPtr: XCmdPtr; str: Types.Str255): BOOLEAN;
- EXTERNAL PASCAL;
- (*•• PROCEDURE StrToExt*(paramPtr: XCmdPtr; str: Types.Str255): Types.Extended80;
- EXTERNAL PASCAL;*)
- PROCEDURE StrToLong*(paramPtr: XCmdPtr; str: Types.Str255): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE StrToNum*(paramPtr: XCmdPtr; str: Types.Str255): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE StrToPoint*(paramPtr: XCmdPtr; str: Types.Str255; VAR pt: Types.Point);
- EXTERNAL PASCAL;
- PROCEDURE StrToRect*(paramPtr: XCmdPtr; str: Types.Str255; VAR rct: Types.Rect);
- EXTERNAL PASCAL;
- PROCEDURE ZeroToPas*(paramPtr: XCmdPtr; zeroStr: Types.Ptr; VAR pasStr: Types.Str255);
- EXTERNAL PASCAL;
-
- (**** Field Utilities ****)
- PROCEDURE GetFieldByID*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE GetFieldByName*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Types.Str255): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE GetFieldByNum*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE SetFieldByID*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID: INTEGER; fieldVal: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE SetFieldByName*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldName: Types.Str255; fieldVal: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE SetFieldByNum*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldNum: INTEGER; fieldVal: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE GetFieldTE*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID,fieldNum: INTEGER; fieldNamePtr: Types.StringPtr): TextEdit.TEHandle;
- EXTERNAL PASCAL;
- PROCEDURE SetFieldTE*(paramPtr: XCmdPtr; cardFieldFlag: BOOLEAN; fieldID,fieldNum: INTEGER; fieldNamePtr: Types.StringPtr; fieldTE: TextEdit.TEHandle);
- EXTERNAL PASCAL;
-
- (**** Miscellaneous Utilities ****)
- PROCEDURE BeginXSound*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr);
- EXTERNAL PASCAL;
- PROCEDURE EndXSound*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE GetFilePath*(paramPtr: XCmdPtr; fileName: Types.Str255; numTypes: INTEGER; typeList: StandardFile.SFTypeList; askUser: BOOLEAN; VAR fileType: Types.OSType; VAR fullName: Types.Str255): BOOLEAN;
- EXTERNAL PASCAL;
- PROCEDURE GetXResInfo*(paramPtr: XCmdPtr; VAR resFile: INTEGER; VAR resID: INTEGER; VAR rType: Types.ResType; VAR name: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE Notify*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE SendHCEvent*(paramPtr: XCmdPtr; event: Events.EventRecord);
- EXTERNAL PASCAL;
- PROCEDURE SendWindowMessage*(paramPtr: XCmdPtr; windPtr: Quickdraw.WindowPtr; windowName: Types.Str255; msg: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE FrontDocWindow*(paramPtr: XCmdPtr): Quickdraw.WindowPtr;
- EXTERNAL PASCAL;
- PROCEDURE StackNameToNum*(paramPtr: XCmdPtr; stackName: Types.Str255): LONGINT;
- EXTERNAL PASCAL;
- PROCEDURE ShowHCAlert*(paramPtr: XCmdPtr; dlgID: INTEGER; promptStr: Types.Str255): INTEGER;
- EXTERNAL PASCAL;
-
- (**** Creating and Disposing XWindoids ****)
- PROCEDURE NewXWindow*(paramPtr: XCmdPtr; boundsRect: Types.Rect; title: Types.Str255; visible: BOOLEAN; procID: INTEGER; color: BOOLEAN; floating: BOOLEAN): Quickdraw.WindowPtr;
- EXTERNAL PASCAL;
- PROCEDURE GetNewXWindow*(paramPtr: XCmdPtr; templateType: Types.ResType; templateID: INTEGER; color: BOOLEAN; floating: BOOLEAN): Quickdraw.WindowPtr;
- EXTERNAL PASCAL;
- PROCEDURE CloseXWindow*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr);
- EXTERNAL PASCAL;
-
- (**** XWindoid Utilities ****)
- PROCEDURE HideHCPalettes*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE ShowHCPalettes*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE RegisterXWMenu*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr; menu: Menus.MenuHandle; registering: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE SetXWIdleTime*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr; interval: LONGINT);
- EXTERNAL PASCAL;
- PROCEDURE XWHasInterruptCode*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr; haveCode: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE XWAlwaysMoveHigh*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr; moveHigh: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE XWAllowReEntrancy*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr; allowSysEvts: BOOLEAN; allowHCEvts: BOOLEAN);
- EXTERNAL PASCAL;
-
- (**** Text Editing Utilities ****)
- PROCEDURE BeginXWEdit*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr);
- EXTERNAL PASCAL;
- PROCEDURE EndXWEdit*(paramPtr: XCmdPtr; window: Quickdraw.WindowPtr);
- EXTERNAL PASCAL;
- PROCEDURE HCWordBreakProc*(paramPtr: XCmdPtr): Types.ProcPtr;
- EXTERNAL PASCAL;
- PROCEDURE PrintTEHandle*(paramPtr: XCmdPtr; hTE: TextEdit.TEHandle; header: Types.StringPtr);
- EXTERNAL PASCAL;
-
- (**** Script Editor support ****)
- PROCEDURE GetCheckPoints*(paramPtr: XCmdPtr): CheckPtHandle;
- EXTERNAL PASCAL;
- PROCEDURE SetCheckPoints*(paramPtr: XCmdPtr; checkLines: CheckPtHandle);
- EXTERNAL PASCAL;
- PROCEDURE FormatScript*(paramPtr: XCmdPtr; scriptHndl: Types.Handle; VAR insertionPoint: LONGINT; quickFormat: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE SaveXWScript*(paramPtr: XCmdPtr; scriptHndl: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE GetObjectName*(paramPtr: XCmdPtr; object: XTalkObjectPtr; VAR objName: Types.Str255);
- EXTERNAL PASCAL;
- PROCEDURE GetObjectScript*(paramPtr: XCmdPtr; object: XTalkObjectPtr; VAR scriptHndl: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE SetObjectScript*(paramPtr: XCmdPtr; object: XTalkObjectPtr; scriptHndl: Types.Handle);
- EXTERNAL PASCAL;
-
- (**** Debugging Tools support ****)
- PROCEDURE AbortScript*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE GoScript*(paramPtr: XCmdPtr);
- EXTERNAL PASCAL;
- PROCEDURE StepScript*(paramPtr: XCmdPtr; stepInto: BOOLEAN);
- EXTERNAL PASCAL;
- PROCEDURE CountHandlers*(paramPtr: XCmdPtr; VAR handlerCount: INTEGER);
- EXTERNAL PASCAL;
- PROCEDURE GetHandlerInfo*(paramPtr: XCmdPtr; handlerNum: INTEGER; VAR handlerName: Types.Str255; VAR objectName: Types.Str255; VAR varCount: INTEGER);
- EXTERNAL PASCAL;
- PROCEDURE GetVarInfo*(paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER; VAR varName: Types.Str255; VAR isGlobal: BOOLEAN; VAR varValue: Types.Str255; varHndl: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE SetVarValue*(paramPtr: XCmdPtr; handlerNum: INTEGER; varNum: INTEGER; varHndl: Types.Handle);
- EXTERNAL PASCAL;
- PROCEDURE GetStackCrawl*(paramPtr: XCmdPtr): Types.Handle;
- EXTERNAL PASCAL;
- PROCEDURE TraceScript*(paramPtr: XCmdPtr; traceInto: BOOLEAN);
- EXTERNAL PASCAL;
-
-
- END HyperXCmd.
-